package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.bean.CusReturnBean;
import com.project.bean.InProductBean;
import com.project.bean.OrderReturnProductBean;
import com.project.bean.SupplyInfoBean;

import java.util.List;

/**
 * 入库
 */
public interface IPutInStorageService {
    void te();
    /**
     * 保存通过MQ发送过来的客户退货订单表，订单表里面有商品集合
     *
     * @param cusReturnBean 客户退货订单
     */
    void goodsRejected(CusReturnBean cusReturnBean);
    /**
     * 查询所有客户订单退货表
     * @return
     */
    IPage<CusReturnBean> findByRejected(int pageNO);

    /**
     * 通过客户订单id查询该订单里面所有的商品
     * @param id
     * @return
     */
    IPage<OrderReturnProductBean> findByRejectedId(int pageNO,String id);



    /**点击入库
     * 通过客户退货订单的Id将此id的商品入库
     * @param id 客户退货订单的Id
     */
    boolean joinRejectedToStorage(int id);




    /**
     * 供应商供货订单表，里面有供货商品集合
     * 将供应商通过MQ发送的货物保存到供货订单表
     * @param supplyInfoBean    供应商供货订单表
     */
    void SupplyGoods(SupplyInfoBean supplyInfoBean);

    /**
     * 查出所有的供应商供货订单
     * @return
     */
    IPage<SupplyInfoBean> findBySupplyAll(int pageNO);
    /**
     * 通过供应商供货订单id，查出订单中的所有商品
     * @return
     */
    IPage<InProductBean> findProductBySupplyId(int pageNO,int supplyId);
    /**
     * 通过供应商供货订单的id，将此供应商的商品全部入库
     * @param id
     */
    boolean joinSupplyToStorage(int id);
}
